package com.yl.users.services

import com.baomidou.mybatisplus.extension.plugins.pagination.Page
import com.yl.common.control.ResponseBody
import com.yl.users.entity.SysCompany
import com.yl.users.entity.SysTableFieldPerm
import com.yl.users.pojo.dto.CompanyPermissionsDto
import com.yl.users.pojo.vo.SysCompanySelectVo

/**
 * 系统管理
 */
interface ISystemService {

	/**
	 * 查询公司列表列表
	 */
	fun getCompanyList(sysCompany: SysCompanySelectVo): List<SysCompany>

	/**
	 * 公司分页
	 */
	fun getCompanyPage(page: Page<SysCompany>, sysCompany: SysCompanySelectVo): Page<SysCompany>

	/**
	 * 添加一个公司(包含添加默认部门)
	 */
	fun addCompany(sysCompany: SysCompany): ResponseBody

	/**
	 * 获取公司用权限树
	 */
	fun getPermList():MutableList<CompanyPermissionsDto>

	/**
	 * 字段权限列表
	 */
	fun fieldList(sysTableFieldPerm: SysTableFieldPerm):List<SysTableFieldPerm>

	/**
	 * 字段权限分页
	 */
	fun fieldPage(page: Page<SysTableFieldPerm>, sysTableFieldPerm: SysTableFieldPerm): Page<SysTableFieldPerm>

	/**
	 * 字段权限树 table-field 格式
	 */
	fun fieldTree():ResponseBody

	/**
	 * 添加字段权限
	 */
	fun addField(sysTableFieldPerm: SysTableFieldPerm)





}